package bean

type AppInternalConfig struct {
	LucidityNote note `yaml:"note"`
}

type note struct {
	Title            string        `yaml:"title"`
	Host             string        `yaml:"host"`
	Router           string        `yaml:"router"`
	Logger           logger        `yaml:"logger"`
	Nutsdb           nutsdb        `yaml:"nutsdb"`
	Ignores          []string      `yaml:"ignore-scan-item"`
	EditorSetting    editorSetting `yaml:"editor-setting"`
	DefaultBkSetting []defaultBK   `yaml:"default-bk-Image"`
	DefaultFormats   []string      `yaml:"default-format"`
}

type logger struct {
	Dir      string `yaml:"dir"`
	FileName string `yaml:"filename"`
}

type nutsdb struct {
	DBFile string `yaml:"dbfile"`
}

type editorSetting struct {
	EditorTheme editorTheme `yaml:"editorTheme"`
}

type editorTheme struct {
	DarkTheme  []string `yaml:"dark"`
	LightTheme []string `yaml:"light"`
}

type defaultBK struct {
	Name string `yaml:"name"`
	Url  string `yaml:"url"`
}

func (conf AppInternalConfig) GetNoteInternalConfig() note {
	return conf.LucidityNote
}
